package com.kexin.common.user.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 用户基本信息表
 * </p>
 *
 * @author chen
 * @since 2021-07-23
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="UserBase对象", description="用户基本信息表")
public class UserBase implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "用户id")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @JsonIgnore
    @ApiModelProperty(value = "银联openId")
    private String openId;

    @JsonIgnore
    @ApiModelProperty(value = "银联unionId")
    private String unionId;

    @JsonIgnore
    @ApiModelProperty(value = "证件号")
    private String certId;

    @JsonIgnore
    @ApiModelProperty(value = "证件类型")
    private String certType;

    @JsonIgnore
    @ApiModelProperty(value = "平台用户id")
    private String rowId;

    @ApiModelProperty(value = "渠道类型（CT001-云闪付数字生活小程序）")
    private String channelType;

    @ApiModelProperty(value = "昵称")
    private String nickname;

    @ApiModelProperty(value = "登录手机号")
    private String mobile;

    @ApiModelProperty(value = "头像")
    private String avatar;

    @ApiModelProperty(value = "真实姓名")
    private String realName;

    @ApiModelProperty(value = "生日")
    private String birthday;

    @ApiModelProperty(value = "性别（1男，2女）")
    private String sex;

    @ApiModelProperty(value = "用户授权作用域")
    private String scope;

    @ApiModelProperty(value = "状态（1正常，2注销，3待更新）")
    private String state;

    @JsonIgnore
    private LocalDateTime createTime;

    @JsonIgnore
    private LocalDateTime updateTime;


}
